﻿using System;
using System.Linq;
using System.Collections.Generic; 
using System.Data;
using Matrix.Common.Utility;
using Matrix.MaKaYunShang.Model;
using Matrix.MaKaYunShang.DAL;
using Matrix.MaKaYunShang.Model.Dto;

namespace Matrix.MaKaYunShang.BLL
{
	public partial class MatrixCloudProjectInfoBLL : BaseBLL<MatrixCloudProjectInfoBLL>
	{
		#region 默认方法
		/// <summary>
		/// 增加一条数据
		/// </summary>
		public int  Add(MatrixCloudProjectInfo model)
		{
			return MatrixCloudProjectInfoDAL.Instance.Add(model);		
		}

		/// <summary>
		/// 更新一条数据
		/// </summary>
		public bool Update(MatrixCloudProjectInfo model)
		{
			return MatrixCloudProjectInfoDAL.Instance.Update(model);
		}

		/// <summary>
		/// 删除一条数据
		/// </summary>
		public bool Delete(int Id)
		{			
			return MatrixCloudProjectInfoDAL.Instance.Delete(Id);
		}
				/// <summary>
		/// 批量删除一批数据
		/// </summary>
		public bool DeleteList(string Idlist )
		{
			return MatrixCloudProjectInfoDAL.Instance.DeleteList(Idlist );
		}
		
		/// <summary>
		/// 得到一个对象实体
		/// </summary>
		public MatrixCloudProjectInfo GetModel(int Id)
		{
			var ds = MatrixCloudProjectInfoDAL.Instance.GetModel(Id);
            return ds == null ? null : ServicesHelper.DataSetToIList<MatrixCloudProjectInfo>(ds).ToList()[0];
		}
		
		/// <summary>
		/// 获得数据列表
		/// </summary>
		public List<MatrixCloudProjectInfo> GetModelList(string strWhere = null)
		{
			var ds = MatrixCloudProjectInfoDAL.Instance.GetList(strWhere);
			return ServicesHelper.DataSetToIList<MatrixCloudProjectInfo>(ds).ToList();
		}
		#endregion
		
		#region 扩展方法

        /// <summary>
        ///     获得分页数据列表
        /// </summary>
        public TableDataViewDto<ViewMatrixCloudProjectInfoDto> GetPagingList(int draw, int pageIndex, int pageSize,
            string searchKeyWord, string colOrder)
        {
            try
            {
                int totalCount = 0;
                List<ViewMatrixCloudProjectInfoDto> list = MatrixCloudProjectInfoDAL.Instance.GetPagingList(pageIndex, pageSize,
                    searchKeyWord, colOrder, ref totalCount);
                foreach (ViewMatrixCloudProjectInfoDto item in list)
                {
                    item.Action = "<a class='btn btn-warning' href='javascript:;' onclick=updateData(" + item.Id +
                                  ");>编辑</a>  <a class='btn btn-danger' href='javascript:;' onclick=MatrixCloudProjectInfoDeleteData(" + item.Id +
                                  ");>删除</a>";
                }
                var returnDataList = new TableDataViewDto<ViewMatrixCloudProjectInfoDto>
                {
                    data = list,
                    draw = draw,
                    recordsFiltered = totalCount,
                    recordsTotal = totalCount
                };

                return returnDataList;
            }
            catch (Exception ex)
            {
                _fileLog.Error(" GetPagingList | Exception: " + ex);
                return null;
            }
        }

	    /// <summary>
	    /// 通过PjCode得到一个对象实体
	    /// </summary>
	    public MatrixCloudProjectInfo GetModelByPjCode(string pjCode)
	    {
            return MatrixCloudProjectInfoDAL.Instance.GetModelByPjCode(pjCode);
	    }

        /// <summary>
        /// 通过PjMcId得到一个对象实体
        /// </summary>
        public MatrixCloudProjectInfo GetModelByPjMcId(string pjMcId)
        {
            return MatrixCloudProjectInfoDAL.Instance.GetModelByPjMcId(pjMcId);
        }

	    #endregion
	}
}